package com.example.chaindemo.web.chain;

import com.example.chaindemo.provider.validator.data.ValidData;

/**
 * 提现规则校验器
 *
 * @author dongfei.yuan
 */
public interface Validator<T> {

    /**
     * 校验数据
     *
     * @param data
     * @return true：校验成功，false：校验失败
     */
    boolean valid(ValidData<T> data);

    /**
     * 是否启用
     * @return true: 有效，false：禁用
     */
    boolean enabled();

    /**
     * 校验器的名称
     * @return
     */
    String name();
}
